#!/usr/bin/env.python
# _*_ coding:utf-8 _*_
# # # # # # # # # # # # # # # # # # # #
#  题目:      config配置文件           #
#  姓名:         李吉辉                #
#  时间:    2018年11月27日20:13:25     #
# # # # # # # # # # # # # # # # # # # #

import logging
from redis import StrictRedis

# 0.自定义项目配置类
class Config(object):
    """项目配置类"""

    # 开启debug模式
    DEBUG = True
    # ip = "192.168.19.114"
    ip = "192.168.1.103"
    # mysql数据库配置信息
    # mysql数据库连接配置
    SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@" + ip + "/infomation1"
    # 开启数据库的追踪操作
    SQLALCHEMY_TRACK_MODIFICATIONS = True

    # Redis数据库配置信息
    REDIS_HOST = ip
    REDIS_POST = 6379

    # 将session存储的数据从内存转移到Redis中存储的配置信息
    SECRET_KEY = "dsdasdsadsadsfffgasds"

    # 指明数据库类型需要的Redis数据库
    SESSION_TYPE = "redis"
    # 创建真实存储数据库的对象进行赋值
    SESSION_REDIS = StrictRedis(REDIS_HOST, REDIS_POST)
    # session_id是否需要进行加密处理
    SESSION_USE_SIGNER = True   # 默认是false True为加密

    # 设置数据是否需要永久保存 默认true --> 永久保存
    SESSION_PERMANENT = False
    # 设置过期时长 默认数据31天过期  86400 == 一天
    PERMANENT_SESSION_LIFETIME = 86400

# app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True =》每次request自动提交db.session.commit()

# 利用继承性来重写debug属性

class DevelopmentConfig(Config):
    """开发者的项目配置信息"""
    DEBUG = True
    # 设置日志级别,开发模式一般设置为DEBUG
    LOG_LEVEL = logging.DEBUG

class ProductionConfig(Config):
    """上线模式的项目配置信息"""
    DEBUG = False
    # 设置日志级别,上线模式一般设置为WARNING
    LOG_LEVEL = logging.WARNING


# 提供一个接口给外界使用,可以是函数或者字典
config_dict = {
    # 外包文件可以根据键来获取对应的类
    "development": DevelopmentConfig,
    "production": ProductionConfig
}












